package com.net.xpay.admin.po;

import com.net.xpay.common.enums.user.CommissionMode;
import com.net.xpay.common.enums.user.IndustryCategory;
import com.net.xpay.common.enums.user.SecurityStatus;
import com.net.xpay.common.enums.user.ServicePayMode;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.math.BigDecimal;

/**
 * 2020/5/24 14:56

 */
@Getter
@Setter
@NoArgsConstructor
public class UpdateUserPo {
    @ApiModelProperty(notes = "用户编号")
    private Long id;

    @ApiModelProperty(notes = "手机号", example = "18812345678")
    private String mobile;

    @ApiModelProperty(notes = "短信验证码")
    private String checkCode;

    @ApiModelProperty(notes = "服务费单价 分")
    private Long serviceUnitPrice;

    @ApiModelProperty(notes = "到卡服务费单价 分")
    private Long bankServiceUnitPrice;

    @ApiModelProperty(notes = "平台实际服务费 分")
    private Long serviceRealPrice;

    @ApiModelProperty(notes = "分佣模式")
    private CommissionMode commissionMode;

    @ApiModelProperty(notes = "收费模式")
    private ServicePayMode mode;

    @ApiModelProperty(notes = "服务费收费比例")
    private BigDecimal serviceRatio;

    @ApiModelProperty(notes = "到卡服务费收费比例")
    private BigDecimal bankServiceRatio;

    @ApiModelProperty(notes = "合伙人毛利润分佣比例")
    private BigDecimal benefitRatio;

    @ApiModelProperty(notes = "服务费成本价收费比例")
    private BigDecimal costServiceRatio;

    @ApiModelProperty(notes = "到卡服务费成本价收费比例")
    private BigDecimal bankCostServiceRatio;

    @ApiModelProperty(notes = "安全付批量转账是否需要短信验证")
    private Boolean batchEnsure;

    @ApiModelProperty(notes = "安全付批量转账需要短信验证的批次金额阈值 单位元")
    private BigDecimal ensureBatchAmount;

    @ApiModelProperty(notes = "接收短信验证码的手机号 如果不存在的话用注册手机号")
    private String receiveMobile;

    @ApiModelProperty(notes = "备用的接受短信验证码的手机号")
    private String spareReceiveMobile;

    @ApiModelProperty(notes = "转账日限额 单位元")
    private BigDecimal transAmountDayLimit;

    @ApiModelProperty(notes = "安全付单个支付宝转账日限额 元")
    private BigDecimal safePayTransAmountDayLimit;

    @ApiModelProperty(notes = "充值通知回调地址 需要带协议 如http://")
    private String chargeNotifyUrl;

    @ApiModelProperty(notes = "限制安全发网页转账操作 只能通过接口转账")
    private Boolean limitSafePayWebPageTrans;
    /**
     * 实名信息
     */
    @ApiModelProperty(notes = "姓名")
    private String name;

    @ApiModelProperty(notes = "备注")
    private String remark;

    @ApiModelProperty(notes = "行业类别")
    private IndustryCategory industryCategory;

    /**
     * 用户安全状态
     */
    @ApiModelProperty(notes = "安全状态", example = "0")
    private SecurityStatus securityStatus;

    @ApiModelProperty(notes = "安全备注")
    private String securityRemark;



    /**
     * 配置
     */
    @ApiModelProperty(notes = "是否开放充值功能页面 默认true")
    private Boolean openCharge;

    @ApiModelProperty(notes = "是否开放安全付接口 默认false")
    private Boolean openSafePay;

    @ApiModelProperty(notes = "是否验证安全付账号有无实名认证")
    private Boolean needSafePayAuth;

    @ApiModelProperty(notes = "是否开放自动付接口 默认false")
    private Boolean openAutoPay;

    @ApiModelProperty(notes = "是否支持安全付汇款充值 默认false")
    private Boolean openSafePayOfflineCharge;

    @ApiModelProperty(notes = "是否开放安全付收集付款功能 默认false")
    private Boolean openCollectionSafePay;

    @ApiModelProperty(notes = "是否开放充值回调通知")
    private Boolean openChargeNotify;

    @ApiModelProperty(notes = "是否开放安全付回调通知")
    private Boolean openSafePayNotify;

    @ApiModelProperty(notes = "是否开放开具发票")
    private Boolean openInvoice;

    @ApiModelProperty(notes = "是否开放安全发到卡")
    private Boolean openSafePayBank;

    @ApiModelProperty(notes = "是否开放安全发签约授权新方式")
    private Boolean openSafePayNewSignMethod;

    @ApiModelProperty(notes = "使用严格认证")
    private Boolean strictLogin;

    @ApiModelProperty(notes = "安全付使用谷歌验证器")
    private Boolean useGoogleAuth;

    @ApiModelProperty(notes = "不显示网站客服微信")
    private Boolean noWechatQrCode;

    @ApiModelProperty(notes = "安全付通知回调地址 需要带协议 如http://")
    private String safePayNotifyUrl;

    @ApiModelProperty(notes = "是否开放商户平台")
    private Boolean openMerchantPlatform;
}
